#pragma once
#include "Camera.h"

class Scene;
struct ExMessage;
extern Scene* Menu_Scene;
extern Scene* Game_Scene;
extern Scene* Selector_Scene;

class SceneManager
{
public:
	enum class SceneType
	{
		Menu,
		Game,
		Selector
	};

public:
	SceneManager() = default;
	~SceneManager() = default;

	void set_current_scene(Scene* scene);
	void switch_to(SceneType type);

	void on_update(int delta);
	void on_draw(const Camera& camera);
	void on_input(const ExMessage& meg);
private:
	Scene* Current_Scene = nullptr;
};

